/*
 *  AudioBuffer.cpp
 *  glare
 *
 *  Created by sunjun on 11-6-14.
 *  Copyright 2011 sunstdio. All rights reserved.
 *
 */
//////////////////////////////////////////////////////////////////////////

#include <Audio.h>

//////////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////////

NAMESPACE_BEGIN(Audio)

//////////////////////////////////////////////////////////////////////////

  AudioBuffer::AudioBuffer()
	{
    // create the al buffer.
    alGenBuffers(1, mObjects);
    CHECK(alGetError() == AL_NO_ERROR && "Could not create buffers");
	}

	AudioBuffer::~AudioBuffer() 
	{
    // delete al buffer.
    alDeleteBuffers(1, mObjects);
	}

  //////////////////////////////////////////////////////////////////////////

  /*
	====================
	Load
	====================
	*/
	VOID AudioBuffer::Load(U32 format, U32 rate, const VOID* data, U32 size)
	{
    CHECK(data);
    alBufferData(mObjects[0], format, data, size, rate);
  }

//////////////////////////////////////////////////////////////////////////

NAMESPACE_END

//////////////////////////////////////////////////////////////////////////
